package la.iok.hzsvn.lewin.movie.service;

import la.iok.hzsvn.lewin.movie.core.Token;
import la.iok.hzsvn.lewin.movie.entity.MovieCoverFile;
import la.iok.hzsvn.share.annotations.NotNull;
import la.iok.hzsvn.share.annotations.Nullable;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;

public interface MovieCoverFileService extends MovieFileService<MovieCoverFile> {

    /**
     * 上传文件
     * @param token 操作用户
     * @param movieId 剧本id
     * @param file 文件
     */
    void uploadCover(@NotNull Token token, @Nullable Long movieId, @NotNull MultipartFile file,@NotNull String path);

    /**
     * 下载封面文件
     * @param token 操作用户
     * @param response 客户端响应
     * @param id 剧本id
     */
    void downloadFile(@NotNull Token token, @NotNull HttpServletResponse response, @NotNull Long id);

    /**
     * 下载封面文件
     * @param response 客户端响应
     * @param id 封面文件id
     * @param movieName 剧本名称
     */
    void downloadFile(@NotNull HttpServletResponse response, @NotNull Long id,@NotNull String movieName);
}
